﻿Public Class FrmProduit

    Dim position As Integer = 0
    Private Sub FrmProduit_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Me.MdiParent = FrmStart
        Me.Left = 0
        Me.Top = 0




        MySQLConnect.marequete = "SELECT autre.idPdt,LibelleProduit,PrixHTProduit,QteStockProduit,idFrn FROM produit,autre,vendre where produit.idProduit = autre.idPdt and autre.idPdt = vendre.idPdt "
        MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
        MySQLConnect.monremplisseur.SelectCommand = MySQLConnect.macommandespecialerequete
        MySQLConnect.monremplisseur.Fill(MySQLConnect.monjeudedonnees, "TousLesproduits")

        DataGridProduits.DataSource = (MySQLConnect.monjeudedonnees.Tables("TousLesproduits"))

        MySQLConnect.marequete = "SELECT idProduit,LibelleProduit,PrixHTProduit,QteStockProduit,idFrn FROM produit,service,fournir where produit.idProduit = service.idPdt and service.idPdt = fournir.idService"
        MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
        MySQLConnect.monremplisseur.SelectCommand = MySQLConnect.macommandespecialerequete
        MySQLConnect.monremplisseur.Fill(MySQLConnect.monjeudedonnees, "TousLesproduits2")

        DGVService.DataSource = (MySQLConnect.monjeudedonnees.Tables("TousLesproduits2"))


        Me.DGVService.Columns("idFourn").Visible = False
        Me.DGVService.Columns("idCat").Visible = False

        gbService.Enabled = False
        gbAutre.Enabled = False

        Rafraichir()


    End Sub
    Public Sub Rafraichir()
        txtBoxNumero.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesproduits").Rows(position).Item(0)
        txtBoxLibelle.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesproduits").Rows(position).Item(1)
        txtBoxPrixHT.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesproduits").Rows(position).Item(2)
        txtBoxQteStock.Text = MySQLConnect.MonJeuDeDonnees.Tables("TousLesproduits").Rows(position).Item(3)
        cbFournisseur.SelectedValue = MySQLConnect.MonJeuDeDonnees.Tables("TousLesproduits").Rows(position).Item(4)
        DGVService.DataSource = (MySQLConnect.monjeudedonnees.Tables("TousLesproduits"))


        txtBoxNumero.Text = MySQLConnect.monjeudedonnees.Tables("TousLesproduits2").Rows(position).Item(0)
        txtBoxLibelle.Text = MySQLConnect.monjeudedonnees.Tables("TousLesproduits2").Rows(position).Item(1)
        txtBoxPrixHT.Text = MySQLConnect.monjeudedonnees.Tables("TousLesproduits2").Rows(position).Item(2)
        txtBoxQteStock.Text = MySQLConnect.monjeudedonnees.Tables("TousLesproduits2").Rows(position).Item(3)
        cbFournisseur.SelectedValue = MySQLConnect.monjeudedonnees.Tables("TousLesproduits2").Rows(position).Item(4)
        DataGridProduits.DataSource = (MySQLConnect.monjeudedonnees.Tables("TousLesproduits2"))


    End Sub

    Private Sub BtnModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnModifier.Click


        Dim id As Integer
        id = CInt(txtBoxNumero.Text)
        Dim l, p, nf, q As String
        l = (txtBoxLibelle.Text)
        p = txtBoxPrixHT.Text
        q = txtBoxPrixHT.Text
        nf = cbFournisseur.Text


        MySQLConnect.marequete = "update produit Set idProduit = '" & id & "' ,  LibelleProduit  = " & l & " , PrixHTProduit = '" & p & "',QteStockProduit = '" & q & "',idFourn = '" & cbFournisseur.SelectedValue & "'  where idProduit = " & id & ""
        MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
        MySQLConnect.macommandespecialerequete.ExecuteNonQuery()
        position = 0
        RechargerLesDonnees()
        Rafraichir()



    End Sub

    Private Sub BtnAjout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnAjouter.Click
        If btnAjouter.Text = "Ajouter" Then
            txtBoxNumero.Text = MySQLConnect.GenererClePrimaire("idproduit", "produit")




            txtBoxLibelle.Text = ""
            txtBoxPrixHT.Text = ""
            txtBoxQteStock.Text = ""
            cbFournisseur.Text = ""

            btnAjouter.Text = "Valider!"


        Else
            If txtBoxLibelle.Text <> "" And txtBoxPrixHT.Text <> "" And txtBoxQteStock.Text <> "" And cbFournisseur.Text <> "" Then
                Dim id As Integer
                id = CInt(txtBoxNumero.Text)
                Dim l, p, q As String
                l = (txtBoxLibelle.Text)
                p = txtBoxPrixHT.Text
                q = txtBoxQteStock.Text


                MySQLConnect.marequete = "Insert into produit Values ( " & id & ", '" & l & "', '" & p & "', '" & q & "', '" & cbFournisseur.SelectedValue & "' )"
                MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
                MySQLConnect.macommandespecialerequete.ExecuteNonQuery()
                position = 0
                RechargerLesDonnees()
                Rafraichir()
                btnAjouter.Text = "Ajouter"


            Else
                MessageBox.Show("Renseigner tous les champs SVP...!", "Alerte!", MessageBoxButtons.OK, MessageBoxIcon.Error)
            End If
        End If
    End Sub

    Private Sub BtnSupprimer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSupprimer.Click
        Dim id As Integer

        id = CInt(txtBoxNumero.Text)

        
        If cbService.Checked = True Then
            MySQLConnect.marequete = "Delete from produit Where idProduit = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()


            MySQLConnect.marequete = "Delete from Service Where idPdt = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()

            MySQLConnect.marequete = "Delete from Fournir Where idService = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()


        ElseIf cbAutre.Checked = True Then
            MySQLConnect.marequete = "Delete from produit Where idProduit = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()


            MySQLConnect.marequete = "Delete from autre Where idPdt = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()

            MySQLConnect.marequete = "Delete from vendre Where idPdt = " & id & " "
            MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
            MySQLConnect.macommandespecialerequete.ExecuteNonQuery()








            position = 0
            RechargerLesDonnees()
            Rafraichir()
        End If
    End Sub

    Private Sub DataGridClient_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGVService.CellContentClick
        txtBoxNumero.Text = DGVService.CurrentRow.Cells(0).Value.ToString
        txtBoxLibelle.Text = DGVService.CurrentRow.Cells(1).Value.ToString
        txtBoxPrixHT.Text = DGVService.CurrentRow.Cells(2).Value.ToString
        txtBoxQteStock.Text = DGVService.CurrentRow.Cells(3).Value.ToString
        cbFournisseur.Text = DGVService.CurrentRow.Cells(4).Value.ToString


        btnAjouter.Text = "Ajouter"
    End Sub
    Private Sub RechargerLesDonnees()
        MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Clear()
        MySQLConnect.marequete = "SELECT autre.idPdt,LibelleProduit,PrixHTProduit,QteStockProduit,idFrn FROM produit,autre,vendre where produit.idProduit = autre.idPdt and autre.idPdt = vendre.idPdt "
        MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
        MySQLConnect.monremplisseur.SelectCommand = MySQLConnect.macommandespecialerequete
        MySQLConnect.monremplisseur.Fill(MySQLConnect.monjeudedonnees, "TousLesProduits")


        MySQLConnect.monjeudedonnees.Tables("TousLesProduits2").Clear()
        MySQLConnect.marequete = "SELECT autre.idPdt,LibelleProduit,PrixHTProduit,QteStockProduit,idFrn FROM produit,autre,vendre where produit.idProduit = autre.idPdt and autre.idPdt = vendre.idPdt "
        MySQLConnect.macommandespecialerequete.CommandText = MySQLConnect.marequete
        MySQLConnect.monremplisseur.SelectCommand = MySQLConnect.macommandespecialerequete
        MySQLConnect.monremplisseur.Fill(MySQLConnect.monjeudedonnees, "TousLesProduits")
    End Sub


    Private Sub FrmProduit_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
        MySQLConnect.MonJeuDeDonnees.Tables("TousLesProduits").Clear()
        MySQLConnect.MonJeuDeDonnees.Tables("Touteslescategories2").Clear()
        MySQLConnect.MonJeuDeDonnees.Tables("TousLesFournisseurs2").Clear()
    End Sub

    Private Sub cbService_Click(sender As Object, e As EventArgs) Handles cbService.Click
        cbAutre.Checked = False
        gbService.Enabled = True
        gbAutre.Enabled = False
    End Sub

    Private Sub cbAutre_Click(sender As Object, e As EventArgs) Handles cbAutre.Click
        cbService.Checked = False
        gbAutre.Enabled = True
        gbService.Enabled = False
    End Sub


    Private Sub DataGridProduits_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridProduits.CellContentClick
        txtBoxNumero.Text = DataGridProduits.CurrentRow.Cells(0).Value.ToString
        txtBoxLibelle.Text = DataGridProduits.CurrentRow.Cells(1).Value.ToString
        txtBoxPrixHT.Text = DataGridProduits.CurrentRow.Cells(2).Value.ToString
        txtBoxQteStock.Text = DataGridProduits.CurrentRow.Cells(3).Value.ToString
        cbFournisseur.Text = DataGridProduits.CurrentRow.Cells(4).Value.ToString
    End Sub


End Class



